[POWERPC] Enable SMP, smp_processor_id, for_each_cpu, nosmp, maxcpus=X
authorJimi Xenidis <jimix@watson.ibm.com>
Tue, 22 Aug 2006 13:53:34 +0000 (09:53 -0400)
committerJimi Xenidis <jimix@watson.ibm.com>
Tue, 22 Aug 2006 13:53:34 +0000 (09:53 -0400)
commit85d7b7fb201b5f8a6e6d28b41a2bc0437e3a14f7
tree0c49a025a55560ddc7224d30c9ef73a1b9bf9f10
parenta4631c510c541014222f243b27479259c2befec7
[POWERPC] Enable SMP, smp_processor_id, for_each_cpu, nosmp, maxcpus=X

Add support for the "nosmp" and "maxcpus=X" command line options, and
address Hollis' concerns about comments, prototypes, and panic messages.

Handshake with secondary processors, move all of them out of their OF
spinloop even if there are more of them than NR_CPUS, enumerate them
according to a logical rather than firmware numerical space, give them a
stack, make them run C code to initialize their HIDs, initialize their
r13 registers to a per-processor pointer, enable smp_processor_id and
and properly set the maps of present and online CPUs.

Tested on 2-way JS20, 4-way JS21, and 16-way systemsim-gpul, with
NR_CPUS from 1 to 64, nosmp, and maxcpus from 1 to 3.

Signed-off-by: Amos Waterland <apw@us.ibm.com>
Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
xen/arch/powerpc/boot_of.c
xen/arch/powerpc/powerpc64/exceptions.S
xen/arch/powerpc/powerpc64/ppc970.c
xen/arch/powerpc/setup.c
xen/include/asm-powerpc/config.h
xen/include/asm-powerpc/current.h
xen/include/asm-powerpc/powerpc64/procarea.h
xen/include/asm-powerpc/processor.h
xen/include/asm-powerpc/smp.h